package org.dromara.demo.service;

import org.dromara.demo.domain.bo.TestTreeBo;
import org.dromara.demo.domain.vo.TestTreeVo;

import java.util.Collection;
import java.util.List;


/**
 * @Author 刘武贵
 * @Date 2024/8/15 22:00
 * @Description 功能描述：测试树表Service接口
 */
public interface ITestTreeService {
    /**
     * 查询单个
     *
     * @param id 测试树的唯一标识符，用于定位特定的测试树记录
     * @return 返回匹配ID的测试树信息，若无匹配记录则返回空
     */
    TestTreeVo queryById(Long id);

    /**
     * 查询列表
     *
     * @param bo 查询条件对象，通常包含用户设定的筛选条件，如父节点ID等
     * @return 返回一个List，其中包含符合查询条件的测试树形数据对象
     */
    List<TestTreeVo> queryList(TestTreeBo bo);

    /**
     * 根据新增业务对象插入测试树表
     *
     * @param bo 测试树表新增业务对象
     * @return 返回插入操作的结果，成功插入返回 true，否则返回 false
     */
    Boolean insertByBo(TestTreeBo bo);

    /**
     * 根据编辑业务对象修改测试树表
     *
     * @param bo 测试树表编辑业务对象
     * @return 如果更新成功，返回 true；否则返回 false
     */
    Boolean updateByBo(TestTreeBo bo);

    /**
     * 校验并删除数据
     *
     * @param ids     主键集合
     * @param isValid 是否校验,true-删除前校验,false-不校验
     * @return 返回值表示删除操作是否成功. true表示成功，false表示失败.
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}
